package com.welica.wat.stragety;

/**
* @ClassName: DistributeLockStrategy
* @Description: 统一定义分布式锁的策略(方便扩展，redis,zookeeper,corusl...)
* @author weiyongpeng
* @date 2024年11月1日 下午8:37:26
 */
public interface DistributeLockStrategy {

	/**
	* 描述：获取锁
	* @Title: lock
	* @param lockName
	* @param ttl
	* @param isSpin
	* @return
	* @author weiyongpeng
	* @date  2024年11月1日 下午8:37:41
	 */
    public boolean lock(String lockName,int ttl,boolean isSpin);

    /**
    * 描述：释放锁
    * @Title: unLock
    * @param lockName
    * @return
    * @author weiyongpeng
    * @date  2024年11月1日 下午8:37:50
     */
    public boolean unLock(String lockName);

    /**
    * 描述：是否存在锁
    * @Title: isLocked
    * @param lockName
    * @return
    * @author weiyongpeng
    * @date  2024年11月1日 下午8:38:01
     */
    public boolean isLocked(String lockName);
}
